package vista.objetos;

import controlador.IConversorLogicoAGraficable;
import logica.Entidad;
import logica.IdExternoInexistenteException;
import logica.TipoDeEntidad;

public class FabricaEntidadGraficableDominio extends FabricaEntidadGraficable{
	
	private static final TipoDeEntidad tipo = TipoDeEntidad.DOMINIO;

	@Override
	public EntidadGraficable crearEntidadGraficable(Entidad entidad) {
		return new EntidadGraficable(entidad, new EntidadGraficableDominio());
	}
	
	@Override
	public EntidadGraficable crearEntidadGraficable(Entidad entidad, DiagramaGraficable diagramaActual, IConversorLogicoAGraficable conversor) throws AtributoTipoNoSoportadoException, IdExternoInexistenteException, GraficableException 
	{
		EntidadGraficable entidadGraf = new EntidadGraficable(entidad, new EntidadGraficableDominio());
		cargarDatosEnEntidad(entidadGraf, diagramaActual, conversor);
		return entidadGraf;
	}
	
	@Override
	public EstrategiaEntidadGraficable getTipoEntidadGraficable() {
		return new EntidadGraficableDominio();
	}

	@Override
	public TipoDeEntidad getTipoDeEntidad() {
		return tipo;
	}

	@Override
	public String toString() {
		return tipo.toString().toLowerCase();
	}
}
